package com.ctshk.rpc.airexpress.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 机场快线api初始化设置表
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-02-18
 */
@Data
@ApiModel(value = "AirportExpressInitializationSettingsReq对象", description = "机场快线api初始化设置表")
public class AirportExpressInitializationSettingsReq implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "供应商id")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @NotNull(message = "退改手续费不能为空")
    @ApiModelProperty(value = "手续费")
    private BigDecimal serviceCharge;

    @Max(value = 2, message = "手续费类型值域:1-数值加幅, 2-百分比扣除")
    @Min(value = 1, message = "手续费类型值域:1-数值加幅, 2-百分比扣除")
    @ApiModelProperty(value = "手续费类型")
    private Integer serviceChargeType;

    @Max(value = 2, message = "成人单程价格类型值域:1-数值加幅, 2-百分比扣除")
    @Min(value = 1, message = "成人单程价格类型值域:1-数值加幅, 2-百分比扣除")
    @ApiModelProperty(value = "成人单程价格类型")
    private Integer adultOneWayPriceType;

    @NotNull(message = "成人单程价格不能为空")
    @ApiModelProperty(value = "成人单程价格")
    private BigDecimal adultOneWayPrice;

    @Max(value = 2, message = "成人往返价格类型值域:1-数值加幅, 2-百分比扣除")
    @Min(value = 1, message = "成人往返价格类型值域:1-数值加幅, 2-百分比扣除")
    @ApiModelProperty(value = "成人往返价格类型")
    private Integer adultRoundTripPriceType;

    @NotNull(message = "成人往返价格不能为空")
    @ApiModelProperty(value = "成人往返价格")
    private BigDecimal adultRoundTripPrice;

    @Max(value = 2, message = "小童单程价格类别值域:1-数值加幅, 2-百分比扣除")
    @Min(value = 1, message = "小童单程价格类别值域:1-数值加幅, 2-百分比扣除")
    @ApiModelProperty(value = "小童单程价格类别")
    private Integer childrenOneWayPriceType;

    @NotNull(message = "小童单程价格不能为空")
    @ApiModelProperty(value = "小童单程价格")
    private BigDecimal childrenOneWayPrice;

    @ApiModelProperty(value = "初始化设置渠道")
    private List<AirportExpressInitializationSettingsChannelReq> airportExpressInitializationSettingsChannelList;
}
